﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows8Accelerator.Core.Xaml.Html;

namespace Windows8Accelerator.Core.Xaml.Controls.RichText
{
    public class SuperHtmlNodeVisitorState
    {
        public SuperHtmlNodeVisitorState()
        {
            MaxWidth = 400;
            MaxHeight = 400;
            H1TextFormat = new SuperTextFormat()
            {
                FontWeight = SuperFontWeight.Bold,
                FontSize = 22,
            };
            H2TextFormat = new SuperTextFormat()
            {
                FontWeight = SuperFontWeight.Bold,
                FontSize = 20,
            };
            H3TextFormat = new SuperTextFormat()
            {
                FontWeight = SuperFontWeight.Bold,
                FontSize = 18,
            };
            H4TextFormat = new SuperTextFormat()
            {
                FontWeight = SuperFontWeight.Bold,
                FontSize = 16,
            };
            H5TextFormat = new SuperTextFormat()
            {
                FontWeight = SuperFontWeight.Bold,
                FontSize = 14,
            };
            H6TextFormat = new SuperTextFormat()
            {
                FontWeight = SuperFontWeight.Bold,
                FontSize = 12,
            };
            BoldTextFormat = new SuperTextFormat()
            {
                FontWeight = SuperFontWeight.Bold,
            };
            ItalicTextFormat = new SuperTextFormat()
            {
                FontStyle = SuperFontStyle.Italic,
            }; 
            AnchorTextFormat = new SuperTextFormat()
            {
                ForegroundColor = "RoyalBlue",
            }; 
            DefaultTextFormat = new SuperTextFormat()
            {
            };
        }

        public SuperTextFormat DefaultTextFormat { get; set; }
        public SuperTextFormat BoldTextFormat { get; set; }
        public SuperTextFormat ItalicTextFormat { get; set; }
        public SuperTextFormat H1TextFormat { get; set; }
        public SuperTextFormat H2TextFormat { get; set; }
        public SuperTextFormat H3TextFormat { get; set; }
        public SuperTextFormat H4TextFormat { get; set; }
        public SuperTextFormat H5TextFormat { get; set; }
        public SuperTextFormat H6TextFormat { get; set; }
        public SuperTextFormat AnchorTextFormat { get; set; }
        public bool HasContent { get; set; }
        public bool RequiresLineBreaking { get; set; }
        public bool RequiresDoubleLineBreaking { get; set; }
        public int IndentLevel { get; set; }
        public int? OrderCount { get; set; }
        public bool AllowLeadingSpace { get; set; }
        public bool RequiresLeadingSpace { get; set; }
        public double MaxWidth { get; set; }
        public double MaxHeight { get; set; }
        public Action<HyperlinkClickEventArgs> OnHyperlinkClick;
        public Action<ImageClickEventArgs> OnImageClick;        
    }

}
